home *** CD-ROM | disk | FTP | other *** search
- /* $Id: I3DEXSCO.H 1.6 1997/05/02 22:55:11 damien Exp $ */
- /*****************************************************************************\
- * *
- * I3DExScO.h - I3DExSceneOperation definition *
- * *
- * Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
- * *
- * *
- * 8/28/96 YC. Added support for undo/redo. New parameter for Prepare() *
- * *
- \*****************************************************************************/
-
- #ifndef __I3DEXSCO__
- #define __I3DEXSCO__
-
- #ifndef __I3DEX__
- #include "I3DEx.h"
- #endif
-
- /*#ifndef __I3DSHSCN__
- #include "I3DShScn.h"
- #endif
-
- #ifndef __I3DSHTRE__
- #include "I3DShTre.h"
- #endif*/
-
- struct I3DShScene;
- struct I3DShTreeElement;
- struct I3DShSelection;
-
- //****** Globally Unique Ids *************************************************
-
- DEFINE_GUID(IID_I3DExSceneOperation,0x1705bf20L,0xad8,0x11cf,0xa4,0xf7,0x0,0x0,0xe2,0x2,0xd5,0xa5);
- DEFINE_GUID(IID_I3DExSceneOperation8,0x1705bf21L,0xad8,0x11cf,0xa4,0xf7,0x0,0x0,0xe2,0x2,0xd5,0xa5);
-
- /*****************************************************************************\
- * I3DExSceneOperation *
- * *
- * Scene Operation *
- * *
- \*****************************************************************************/
-
- /*#undef INTERFACE
- #define INTERFACE I3DExSceneOperation
-
- DECLARE_INTERFACE_(I3DExSceneOperation, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExSceneOperation methods
- STDMETHOD(Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, long index, long total) PURE;
- STDMETHOD_(Boolean, DoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
- };*/
-
- #undef INTERFACE
- #define INTERFACE I3DExSceneOperation8
-
- DECLARE_INTERFACE_(I3DExSceneOperation8, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExSceneOperation methods
- STDMETHOD(Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
- STDMETHOD_(Boolean, DoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
-
-
- // I3DExSceneOperation methods
- STDMETHOD(Prepare8) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total, Boolean* canUndo) PURE;
- STDMETHOD_(Boolean, UndoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
- STDMETHOD_(Boolean, RedoIt) (THIS_ I3DShScene* scene, I3DShTreeElement* tree, I3DShSelection* selection, long index, long total) PURE;
- };
-
- #endif
-